#include <stdio.h>
void TestFunct_1(void);
void TestFunct_2(int i);
int TestFunct_3(void);
int TestFunct_4(int x);
int main(void)
{
int a=3;
printf ("Calling (TestFunct_1) \n");
TestFunct_1();
printf ("Calling (TestFunct_2) \n");
TestFunct_2(a);
printf ("Calling (TestFunct_3) \n");
int m=TestFunct_3();
printf (" (TestFunct_3) returned integer %d \n",m);
printf ("Calling (TestFunct_4) and sending integer %d and getting its square\n",a);
int d=TestFunct_4(a);
printf("TestFunct_4 returned value %d \n",d);

void TestFunct_1(void)
{
printf ("This (TestFunct_1) takes nothing and returns nothing \n");
}
void TestFunct_2(int i)
{
printf ("This (TestFunct_2) takes intger value %d and returns nothing \n",i);
}
int TestFunct_3(void)
{
int b=44;
printf ("This (TestFunct_3) takes nothing but will return This value %d \n",b);
return b;
}
int TestFunct_4(int x)
{
int add=x+x;
printf ("This (TestFunct_4) takes intger value %d and returns an integer value and doubles it %d and returns it to main. \n",x,add);
return add;
}
}

